package com.yan.design.two.behavior.s5.g1;

import java.util.Observable;

/**
 * 5. 观察者模式
 *     jdk的工具类  - 被观察者类
 * @author shengren.yan
 * @create 2022-08-10
 */
public class Subject extends Observable {

    private String name;

    Subject(String name) {
        this.name = name;
    }

    public void modify(String str){
        System.out.println("对象有被修改" + name + " : " +str );
        // 当对象修改 - 需要setChanged来设定已修改状态
        this.setChanged();
        // 使用这个方法通知其他 观察者 , 可传参
        this.notifyObservers(str);
    }

    public String getName() {
        return name;
    }
}
